/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.flf.audioteca.dao.entidades.impl;

import br.edu.flf.audioteca.dao.entidades.IArtistaDAO;
import br.edu.flf.audioteca.dao.exceptions.JPAException;
import br.edu.flf.audioteca.dao.impl.EntidadeEscritaDAO;
import br.edu.flf.audioteca.entidades.Artista;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;

/**
 *
 * @author Nathan Azevedo
 */
public class ArtistaDAO extends EntidadeEscritaDAO implements IArtistaDAO {

    private static IArtistaDAO artistaDAO = null;

    public static IArtistaDAO getInstance() {
        if (artistaDAO == null) {
            artistaDAO = new ArtistaDAO();
        }
        return artistaDAO;
    }

    public void persistirArtista(Artista artista) throws JPAException {
        EntityManager entityManager = getEntityManager();
        try {
            entityManager.getTransaction().begin();
            entityManager.merge(artista);
            entityManager.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            throw new JPAException(e);
        } finally {
            entityManager.close();

        }

    }

    public List<Artista> obterTodosOsArtistas() throws JPAException {
        List<Artista> listaDeArtistas = null;

        listaDeArtistas = buscarTodos(Artista.class);

        return listaDeArtistas;

    }
}
